// Package _1_图的存储方式邻接表 main
// @Title _1_图的存储方式邻接表
// @Description
// @Author  == 琳琳也叫王木木 ==  2022-01-17 13:25
// @Create  2022-01-17 13:25
package main

type Edge struct {
	Weight int   // 权重（距离）
	From   *Node // 从哪里来
	To     *Node // 到哪里去
}

type Node struct {
	Val  int     // 实际的数据项
	In   int     // 入度，有多少个点，所发散的边是指向自己的 { 无向图的入度= 出度}
	Out  int     // 出度，自己发散出去多少个边
	Next []*Node // 临接的点集
	Edge []*Edge // 临接的边集
}

type Graph struct {
	Node map[int]*Node   // 点集 编码-> 实际的点
	Edge map[*Edge]*Edge // 边集
}
